Integrating Software Engineering Key Practices into an OOP Massive In-Classroom Course: an Experience Report
نویسندگان
چکیده
Programming and software engineering courses in computer science curricula typically focus on both providing theoretical knowledge of programming languages and best-practices, and developing practical development skills. In a massive course – several hundred students – the teachers are not able to adequately attend to the practical part, therefore process automation and incentives to students must be used to drive the students in the right direction. Our goals was to design an automated programming assignment infrastructure capable of supporting massive courses. The infrastructure should encourage students to apply the key software engineering (SE) practices – automated testing, configuration management, and Integrated Development Environment (IDE) – and acquire the basic skills for using the corresponding tools. We selected a few widely adopted development tools used to support the key software engineering practices and mapped them to the basic activities in our exam assignment management process. This experience report describes the results from the past academic year. The infrastructure we built has been used for a full academic year and supported four exam sessions for a total of over a thousand students. The satisfaction level reported by the students is generally high.
منابع مشابه
A Simplified Approach to Test-driven Development for the First Programming Course
In industry experiments using test-driven development (TDD), some researchers report significantly increased code quality over traditional test-last approaches. Not surprisingly, information technology educators have begun to call for the introduction of TDD into the curriculum. Some early adopters have pioneered the use of TDD in advanced programming or software engineering courses. A few educ...
متن کاملIntegrating Risk Management into an Undergraduate Software Engineering Course
Risk management is one of the key practices of the Software Engineering Institute Capability Maturity Model. The effective management of risk is crucial to the success of software projects. Much has recently been written concerning risk management in an industrial environment. One of the most useful documents is a risk management questionnaire developed by the Software Engineering Institute. Th...
متن کاملAdapting Extreme Programming for a Core Software Engineering Course
Over a decade ago, the manufacturing industry determined it needed to be more agile to thrive and prosper in a changing, nonlinear, uncertain and unpredictable business environment. Recently, the software engineering community has come to the same realization. A group of software methodologists has created a set of software development processes, termed agile methodologies that have been specif...
متن کاملTeaching Software Engineering in a Compiler Project Course , 2002
A compiler course with a long-term project is a staple of many undergraduate computer science curricula, and often a cornerstone of a program’s applied-engineering component. Software engineering expertise can help a student complete such a course, yet that expertise is often lacking. This problem can be addressed without detracting from the core class materials by integrating a few simple soft...
متن کاملResearch in Object-Oriented Manufacturing Simulations: An Assessment of the State of the Art
Object-oriented programming (OOP) has been revolutionizing software development and maintenance. When applied to simulation of manufacturing systems, OOP also provides an opportunity for developing new ways of thinking and modeling. In this paper, we identify existing large-scale, persistent OOP-based research efforts focusing on manufacturing system simulation, and present an integrating frame...
متن کامل